home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1994 October / Macformat17.cdr / Shareware City / Developers / Think C dcmd 1.0 ƒ / Think_put.h < prev   
Text File  |  1994-06-19  |  3KB  |  103 lines

  1. /******************************************************************
  2.  
  3.     Think Put Lib 1.0
  4.     
  5.     
  6.     Written by P. Stadelmann, June 1994.
  7.         
  8.     Use this set of routines to display formated output in dcmds.
  9.  
  10.     This was written because the put.o library wouldn't link in
  11.     Think C. Some routines have the same name as routines defined
  12.     in put.h. However, they are not functionnaly equivalent, as
  13.     the implementation is different.
  14.          
  15.     All these routines use an internal storage area of 255 bytes
  16.     to hold the text of the next line to display. The data you
  17.     pass to a routine is appended at the end of the line.
  18.     A internal variable keeps track of the length of the line.
  19.     Once the length reaches 255 character, nothing else is added.
  20.     
  21.     When you call PutLine, the line is displayed, and the internal
  22.     buffer is cleared. You can also clear it at any time by calling
  23.     PutClear. This may be useful if you encounter an error.
  24.     
  25.     Decimal numbers are displayed with a leading '#'. Binary numbers
  26.     are displayed in groups of 4 (1-4 for the first group) bits with
  27.     a leading '~'.
  28.     
  29.     This library uses global variables. Thus, it requires SetUpA4.
  30.     
  31.     This library doesn't call any Toolbox routine.
  32.     
  33.  ******************************************************************/ 
  34.  
  35.  
  36. #ifndef __ThinkPut__
  37. #define __ThinkPut__
  38.  
  39.  
  40. void PutClear();
  41.     /* Clear the content of the internal buffer */
  42.  
  43. void PutLine();
  44.     /* Displays the content of the internal buffer, and also clear it.
  45.        If the buffer is empty, draws a blank line. */
  46.     
  47. void PutChar(char c);
  48.       /* Appends the character c */
  49.   
  50. void PutSpace();
  51.     /* Appends a space */
  52.   
  53. void PutSpacesTo(int endpos);
  54.     /* Appends spaces until the end of the line reaches the column endpos */ 
  55.            
  56. void PutText(const char* s, int len );
  57.     /* Appends len characters starting at addres s */
  58.  
  59. void PutTextTo(const char* s, int len, int endpos);
  60.     /* Appends len char starting at s and pad with spaces to reach endpos.
  61.        If the text extend past endpos, it is truncated to fit. In this case,
  62.        the caracter displayed at endpos will be "…". */
  63.  
  64. void PutCStr(const char* s);
  65.     /* Appends the null-terminated string starting at address s */
  66.  
  67. void PutCStrTo(const char* s, int endpos);
  68.     /* Appends the null-terminated string at s and pad with spaces to reach endpos.
  69.        If the string extend past endpos, it is truncated to fit. In this case,
  70.        the caracter displayed at endpos will be "…". */
  71.  
  72. void PutPStr(const unsigned char* s);
  73.     /* Same as PutCStr but for a pascal string */
  74.  
  75. void PutPStrTo(const unsigned char* s, int endpos);
  76.     /* Same as PutCStr but for a pascal string */
  77.  
  78. void PutUHexLong (unsigned long i, int nz);
  79.     /* Appends the unsigned long number i in hexadecimal, with nz digits displayed. */
  80.  
  81. void PutUHexWord(unsigned short h);
  82.     /* Appends the unsigned short number i in hexadecimal, with 4 digits displayed. */
  83.  
  84. void PutUDec(unsigned long i);
  85.     /* Appends the unsigned long number i as a decimal number. */
  86.  
  87. void PutUDecTo(unsigned long i, int endpos);
  88.     /* Appends the unsigned long number i as a decimal number ending at endpos. */
  89.  
  90. void PutSDec(signed long i);
  91.     /* Appends the signed long number i as a decimal number. */
  92.  
  93. void PutSDecTo(signed long i, int endpos);
  94.     /* Appends the signed long number i as a decimal number ending at endpos. */
  95.  
  96. void PutBinary(unsigned long i, int nz);
  97.     /* Appends the unsigned long number i in binary, with nz digits displayed. */
  98.  
  99. void PutOSType(unsigned long typ);
  100.     /* Appends the long number typ as an OSType. */
  101.  
  102.  
  103. #endif